In recent years, mobile terminals have become indispensable electronic products in people's life. An operating system of a mobile terminal may be considered as a hierarchical structure including a series of software and hardware. For example, in an Android (Android) operating system, a hierarchical structure for data management and maintenance includes a database management system, a file system, a block device driver, and an underlying storage device from top to bottom. The block device driver mainly uses an input/output (IO) scheduler to schedule an IO request. The underlying storage device is usually a storage device based on a flash memory. For example, the underlying storage device may be an embedded multimedia card (eMMC) storage device. The eMMC storage device includes a flash memory chip and an eMMC controller that controls the flash memory chip to perform a read operation.
When the file system of the mobile terminal reads data from and writes data into the underlying storage device, the IO scheduler generates a corresponding IO request. The IO request includes a synchronous request and an asynchronous request. When the IO scheduler processes a synchronous request, a confirmation value can be returned to the system only after all data of the request is written into the storage device or read from the storage device. At that time, the synchronous request is completely executed. If a processing time of a synchronous request is excessively long or there are excessive to-be-processed synchronous requests, that is, when IO scheduling is blocked, problems such as system stalling and performance degradation occur in the mobile terminal, affecting user experience.